package com.situ.company.service.Impl.service.Impl;

import com.situ.company.dao.ApplicantDao;
import com.situ.company.entity.Applicant;
import com.situ.company.entity.Employee;
import com.situ.company.service.Impl.ApplicantService;
import com.situ.company.vo.ApplicantVO;
import com.situ.company.vo.EmployeeVO;
import com.situ.company.vo.TableVO;

import java.time.LocalDateTime;
import java.util.List;

public class ApplicantServiceImpl implements ApplicantService {
    ApplicantDao dao = new ApplicantDao();
    @Override
    public TableVO select(Integer page, Integer limit, String name) {

        List<ApplicantVO> list = dao.list(page,limit,name);

        //把数据返回给table小工具(响应)
        //获取一个响应的前台写出对象
        //list转完后是[{},{},{}]


        TableVO vo = new TableVO();
        //dao统计一个数，一共都少条数据
        vo.setCount(dao.count(name));
        vo.setData(list);
        //使用json工具把对象转成json格式的字符串
        //fastjson 和 jackson
        //通过jackson工具把list对象转成json 字符串
        return vo;
    }

    @Override
    public void save(Applicant a) {
            //保存应聘者 如果id为空则为新增，否则是更改
        if(a.getId()==null){
            a.setCreateTime(LocalDateTime.now());
            dao.insert(a);
        }else{
            dao.update(a);
        }

    }

    @Override
    public void delete(Integer id) {
        dao.delete(id);
    }

    @Override
    public Applicant info(Integer id) {
        //编辑应聘者信息 根据id把应聘者信息展示出来 点击保存后判断id是否为空
        List<Applicant> list = dao.edit(id);
        if (list.isEmpty()) {
            return null;
        } else {
            return list.get(0);
        }
    }

}
